home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / javax / swing / TransferHandler$TransferAction.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  2.3 KB  |  67 lines

  1. package javax.swing;
  2.  
  3. import java.awt.datatransfer.Clipboard;
  4. import java.awt.datatransfer.Transferable;
  5. import java.awt.event.ActionEvent;
  6. import javax.swing.plaf.UIResource;
  7. import sun.awt.AppContext;
  8. import sun.swing.SwingUtilities2;
  9. import sun.swing.UIAction;
  10.  
  11. class TransferHandler$TransferAction extends UIAction implements UIResource {
  12.    private static Object SandboxClipboardKey = new Object();
  13.  
  14.    TransferHandler$TransferAction(String var1) {
  15.       super(var1);
  16.    }
  17.  
  18.    public boolean isEnabled(Object var1) {
  19.       return !(var1 instanceof JComponent) || ((JComponent)var1).getTransferHandler() != null;
  20.    }
  21.  
  22.    public void actionPerformed(ActionEvent var1) {
  23.       Object var2 = var1.getSource();
  24.       if (var2 instanceof JComponent) {
  25.          JComponent var3 = (JComponent)var2;
  26.          TransferHandler var4 = var3.getTransferHandler();
  27.          Clipboard var5 = this.getClipboard(var3);
  28.          String var6 = (String)this.getValue("Name");
  29.          Transferable var7 = null;
  30.  
  31.          try {
  32.             if (var5 != null && var4 != null && var6 != null) {
  33.                if ("cut".equals(var6)) {
  34.                   var4.exportToClipboard(var3, var5, 2);
  35.                } else if ("copy".equals(var6)) {
  36.                   var4.exportToClipboard(var3, var5, 1);
  37.                } else if ("paste".equals(var6)) {
  38.                   var7 = var5.getContents((Object)null);
  39.                }
  40.             }
  41.          } catch (IllegalStateException var9) {
  42.             UIManager.getLookAndFeel().provideErrorFeedback(var3);
  43.             return;
  44.          }
  45.  
  46.          if (var7 != null) {
  47.             var4.importData(new TransferHandler.TransferSupport(var3, var7));
  48.          }
  49.       }
  50.  
  51.    }
  52.  
  53.    private Clipboard getClipboard(JComponent var1) {
  54.       if (SwingUtilities2.canAccessSystemClipboard()) {
  55.          return var1.getToolkit().getSystemClipboard();
  56.       } else {
  57.          Clipboard var2 = (Clipboard)AppContext.getAppContext().get(SandboxClipboardKey);
  58.          if (var2 == null) {
  59.             var2 = new Clipboard("Sandboxed Component Clipboard");
  60.             AppContext.getAppContext().put(SandboxClipboardKey, var2);
  61.          }
  62.  
  63.          return var2;
  64.       }
  65.    }
  66. }
  67.